1. Field of the Invention
The present invention relates generally to bandwidth allocation. Specifically, the present invention provides a method, system and program product for setting a transmission rate in a network (e.g., lossless network).
2. Related Art
As computer networks continue to grow in sophistication and use, congestion is becoming an ever increasing problem. In general, networks can be classified into two different types: (1) lossless; and (2) non-lossless. An example of a non-lossless network is the Internet. In such a network, congestion control is typically implemented by dropping packets from data transmissions between computers (endpoints). For example, if a buffer or queue for a receiving computer reaches its capacity, the resulting congestion is relieved by dropping packets from the transmission.
While this solution may work for a non-lossless network, it is unsatisfactory for a lossless network. Examples of lossless networks (e.g., Infiniband) include clusters of computer nodes, computer grids, networks that connect to storage centers, etc. In such networks, the dropping of packets is not an option since the resulting data loss can seriously undermine the intended purpose(s) of the communication. This is especially the case with communications to and from a storage grid in which a dropped packet could  mean lost data. A typical scenario in which congestion becomes a problem in a lossless network is when a receiving computer (e.g., a receiving node) is receiving data transmissions from two different sending computers (e.g., sending nodes). Specifically, if both sending computers are transmitting at 100% capacity, the receiving computer will essentially be forced to process at 200% capacity. The result is congestion and bottlenecking in which data packet dropping can not be utilized for relief.